export function formatDate(date) {
    const year = date.getFullYear()
    const month = ('0' + (date.getMonth() + 1)).slice(-2) // 月份是从0开始的，所以加1，并确保两位数
    const day = ('0' + date.getDate()).slice(-2)
    const hour = ('0' + date.getHours()).slice(-2)
    const minute = ('0' + date.getMinutes()).slice(-2)
    const second = ('0' + date.getSeconds()).slice(-2)

    return year + '/' + month + '/' + day + ' ' + hour + ':' + minute + ':' + second;
}

export function generateNumericUUID() {
    // 使用当前时间戳作为基础
    let timestamp = Date.now();

    // 可以通过添加随机数来增加唯一性
    // 这里我们使用Math.random()生成一个0到999999999999之间的随机数
    let randomNum = Math.floor(Math.random() * 1000000000000);

    // 将时间戳和随机数拼接起来，确保唯一性
    // 你可以根据需要调整时间戳和随机数的长度
    let numericUUID = timestamp.toString() + randomNum.toString();

    // 如果需要固定长度的UUID，可以截取或填充
    // 例如，我们需要一个16位的数字UUID
    numericUUID = numericUUID.slice(-8); // 截取最后16位

    return numericUUID;
}

export const tools = [
    {
        "type": "function",
        "function": {
            "name": "get_flow_start",
            "description": "当你想知道差旅流程/出差申请流程的参数时非常有用。",
            "parameters": {
                "type": "object",
                "properties": {
                    "start_city": {
                        "type": "string",
                        "description": "出发城市，用户未提供时就默认读取当前城市，当前城市为：杭州。"
                    },
                    "end_city": {
                        "type": "string",
                        "description": "目的城市，比如：成都市、杭州市、上海市等。"
                    },
                    "traffic_tools": {
                        "type": "string",
                        "description": "交通工具，选项为：火车、飞机、汽车、自驾、其他。用户未提供时默认为null或不返回该参数。"
                    },
                    "start_time": {
                        "type": "string",
                        "description": `开始时间，格式为YYYY-MM-DD。当前系统时间为：${formatDate(new Date())}，需要根据提供的当前时间进行推算。`
                    },
                    "start_period": {
                        "type": "string",
                        "description": "开始时段，选项为：上午、下午。"
                    },
                    "end_time": {
                        "type": "string",
                        "description": `结束时间，格式为YYYY-MM-DD。当前系统时间为：${formatDate(new Date())}，需要根据开始时间推算结束时间。`
                    },
                    "end_period": {
                        "type": "string",
                        "description": "结束时段，选项为：上午、下午。"
                    },
                    "travel_reason": {
                        "type": "string",
                        "description": "出差事由，如：用户未提供时默认为null或不返回该参数。"
                    },
                    visitor_user: {
                        type: "string",
                        description: "拜访对象。用户未提供时默认为null或不返回该参数。",
                    },
                }
            }
        }
    }
]

export const addressMap = {
    "start_city": "出发城市",
    "end_city": "目的城市",
    "traffic_tools": "交通工具",
    "start_time": "开始时间",
    "end_time": "结束时间",
    "start_period": "开始时段",
    "end_period": "结束时段",
    "travel_reason": "出差事由"
}

export const message = [
    {
        type: 'AI',
        message: '您好，我是您的AI助手，可以帮助您查询公司规章制度、流程操作手册。',
        tag: 3,
        title: '您可以尝试问我下面的示例：',
        tagList: [
            '公司的考勤制度规定是怎样的？',
            '公司对客户数据管理有哪些要求？',
            '出差申请流程和差旅报销如何发起？'
        ]
    },
]


export const getAssetsFile = (url) => {
    console.log('zw', new URL(`../assets/images/${url}`, import.meta.url).href)
    return new URL(`../assets/images/${url}`, import.meta.url).href
}
